Controller এর Methods এবং Functions

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Controllers |

CodeIgniter-এ Controller অ্যাপ্লিকেশনের লজিক পরিচালনা করে। এটি ইউজারের রিকোয়েস্ট গ্রহণ করে, প্রয়োজনীয় ModelView এর সাথে ইন্টারঅ্যাক্ট করে এবং আউটপুট প্রদর্শন করে। Methods এবং Functions ব্যবহার করে Controller এই কাজগুলো সম্পাদন করে।


Controller তৈরি এবং ব্যবহারের নিয়ম

১. Controller তৈরি

CodeIgniter-এ Controller একটি ক্লাস হিসেবে সংজ্ঞায়িত হয়। এটি CI_Controller ক্লাসকে এক্সটেন্ড করে।

উদাহরণ:

<?php
namespace App\Controllers;

class Home extends BaseController {
    public function index() {
        echo "Welcome to CodeIgniter!";
    }
}

Controller এর Methods এবং Functions

১. ডিফল্ট Method

  • index() Method হলো প্রতিটি Controller এর ডিফল্ট Method। যদি কোনো নির্দিষ্ট Method উল্লেখ করা না হয়, তাহলে index() Method চালিত হয়।

উদাহরণ:

public function index() {
    echo "This is the default method.";
}

২. কাস্টম Methods

Controller-এ আপনি কাস্টম Methods যোগ করতে পারেন এবং সেগুলো রাউটিংয়ের মাধ্যমে কল করতে পারেন।

উদাহরণ:

public function about() {
    echo "This is the About page.";
}

৩. Parameter সহ Method

Methods-এ Parameter পাস করা যায়। Parameter ইউজারের রিকোয়েস্ট থেকে সংগ্রহ করা ডেটা হিসেবে কাজ করে।

উদাহরণ:

public function greet($name = "Guest") {
    echo "Hello, " . $name . "!";
}
  • URL: http://localhost/home/greet/John
  • আউটপুট: Hello, John!

৪. Multiple Parameters

একাধিক Parameter পাস করার সুবিধা রয়েছে।

উদাহরণ:

public function details($id, $category) {
    echo "ID: " . $id . " | Category: " . $category;
}
  • URL: http://localhost/home/details/5/electronics
  • আউটপুট: ID: 5 | Category: electronics

Controller এর মধ্যে View এবং Model ব্যবহার

১. View লোড করা

Controller থেকে View লোড করার জন্য view() Method ব্যবহার করা হয়।

উদাহরণ:

public function index() {
    return view('welcome_message');
}

২. ডেটা পাস করে View লোড করা

Controller থেকে View-তে ডেটা পাঠানো যায়।

উদাহরণ:

public function about() {
    $data = ['title' => 'About Us', 'content' => 'This is the About Us page.'];
    return view('about', $data);
}

৩. Model লোড করা

Model ব্যবহার করে ডেটা সংগ্রহ এবং প্রসেসিং করা যায়।

উদাহরণ:

public function products() {
    $productModel = new \App\Models\ProductModel();
    $data['products'] = $productModel->findAll();
    return view('product_list', $data);
}

Controller এর Access Control

Private Methods

Controller এর Private Methods শুধুমাত্র একই Controller এর মধ্যেই ব্যবহারযোগ্য। এগুলো বাইরের রিকোয়েস্ট দ্বারা অ্যাক্সেসযোগ্য নয়।

উদাহরণ:

private function helperFunction() {
    return "This is a private method.";
}

Protected Methods

Protected Methods ও বাইরের রিকোয়েস্ট থেকে অ্যাক্সেসযোগ্য নয়, তবে Controller-এর সাব-ক্লাস থেকে অ্যাক্সেস করা যায়।

উদাহরণ:

protected function calculate() {
    return 5 + 5;
}

Controller Methods এর উদাহরণ

<?php
namespace App\Controllers;

class Blog extends BaseController {
    public function index() {
        echo "Welcome to the Blog!";
    }

    public function post($id) {
        echo "This is post number " . $id;
    }

    public function author($name = "Unknown") {
        echo "Author: " . $name;
    }
}

উদাহরণ URL:

  • http://localhost/blog/ → "Welcome to the Blog!"
  • http://localhost/blog/post/3 → "This is post number 3"
  • http://localhost/blog/author/John → "Author: John"

সারসংক্ষেপ

CodeIgniter-এর Controller এর Methods এবং Functions অ্যাপ্লিকেশনের লজিক পরিচালনার কেন্দ্রবিন্দু। এগুলো বিভিন্ন রিকোয়েস্ট প্রসেস করে এবং ModelView এর সাথে কাজ করে ব্যবহারকারীর জন্য আউটপুট তৈরি করে। প্রয়োজন অনুযায়ী কাস্টম Methods তৈরি করে অ্যাপ্লিকেশনকে আরও কার্যকর করা যায়।

Content added By
Promotion